<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>Find alive hosts | Matrix207&#39;s Blog</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="This command can find alive hosts on linux:nmap -v -sn 192.168.1.1/24 | grep &amp;#39;Nmap scan&amp;#39; | grep -v &amp;#39;host down&amp;#39;
Reference:  

Nmap扫描原理与用法
通过ARP探测局域网活动主机
编写ARP扫描器探测局域网活动主机
如何获取局域网内其他主机的i">
<meta property="og:type" content="article">
<meta property="og:title" content="Find alive hosts">
<meta property="og:url" content="http://yoursite.com/2013/04/09/find-alive-hosts/index.html">
<meta property="og:site_name" content="Matrix207's Blog">
<meta property="og:description" content="This command can find alive hosts on linux:nmap -v -sn 192.168.1.1/24 | grep &amp;#39;Nmap scan&amp;#39; | grep -v &amp;#39;host down&amp;#39;
Reference:  

Nmap扫描原理与用法
通过ARP探测局域网活动主机
编写ARP扫描器探测局域网活动主机
如何获取局域网内其他主机的i">
<meta property="og:image" content="http://yoursite.com/assets/image/posts/IPFind.PNG">
<meta property="og:updated_time" content="2016-07-17T14:33:54.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Find alive hosts">
<meta name="twitter:description" content="This command can find alive hosts on linux:nmap -v -sn 192.168.1.1/24 | grep &amp;#39;Nmap scan&amp;#39; | grep -v &amp;#39;host down&amp;#39;
Reference:  

Nmap扫描原理与用法
通过ARP探测局域网活动主机
编写ARP扫描器探测局域网活动主机
如何获取局域网内其他主机的i">
<meta name="twitter:image" content="http://yoursite.com/assets/image/posts/IPFind.PNG">
  
    <link rel="alternate" href="/atom.xml" title="Matrix207&#39;s Blog" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  <link rel="stylesheet" href="/css/style.css">
  

</head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/" id="logo">Matrix207&#39;s Blog</a>
      </h1>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/">Home</a>
        
          <a class="main-nav-link" href="/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/atom.xml" title="Flux RSS"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="Rechercher"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" results="0" class="search-form-input" placeholder="Search"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="http://yoursite.com"></form>
      </div>
    </div>
  </div>
</header>
      <div class="outer">
        <section id="main"><article id="post-find-alive-hosts" class="article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/2013/04/09/find-alive-hosts/" class="article-date">
  <time datetime="2013-04-08T16:00:00.000Z" itemprop="datePublished">2013-04-09</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/network/">network</a>
  </div>

  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      Find alive hosts
    </h1>
  

      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <p>This command can find alive hosts on linux:<br><code>nmap -v -sn 192.168.1.1/24 | grep &#39;Nmap scan&#39; | grep -v &#39;host down&#39;</code></p>
<p>Reference:  </p>
<ul>
<li><a href="http://blog.csdn.net/aspirationflow/article/details/7694274" target="_blank" rel="external">Nmap扫描原理与用法</a></li>
<li><a href="http://blog.sina.com.cn/s/blog_644eb9350100p3yv.html" target="_blank" rel="external">通过ARP探测局域网活动主机</a></li>
<li><a href="http://www.2cto.com/kf/201011/78750.html" target="_blank" rel="external">编写ARP扫描器探测局域网活动主机</a></li>
<li><a href="http://bbs.csdn.net/topics/350022203" target="_blank" rel="external">如何获取局域网内其他主机的ip地址和mac地址</a></li>
<li><a href="http://download.csdn.net/detail/joeycc/4945784" target="_blank" rel="external">icmp探测活动主机</a></li>
<li><a href="http://download.csdn.net/detail/pilipenhuolong/3118860" target="_blank" rel="external">利用ICMP数据包探测网络中的活动主机 VC++</a></li>
<li><a href="http://www.xfocus.net/articles/200103/77.html" target="_blank" rel="external">使用ICMP协议来进行主机探测</a></li>
<li><a href="http://blog.csdn.net/yiyefangzhou24/article/details/6819874" target="_blank" rel="external">一个简单扫描器的实现 </a></li>
</ul>
<p>##sample code  </p>
<h3 id="Find-alive-hosts-with-ARP-protocol"><a href="#Find-alive-hosts-with-ARP-protocol" class="headerlink" title="Find alive hosts with ARP protocol"></a>Find alive hosts with ARP protocol</h3><pre><code>// Find alive hosts with ARP protocol
// Win32 console project, compile with VS2005
// Create by Dennis
// 2013-04-09

// Reference:
// http://msdn.microsoft.com/en-us/library/aa366358(VS.85).aspx

#include &lt;winsock2.h&gt;
#include &lt;iphlpapi.h&gt;
#include &lt;process.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

#pragma comment(lib, &quot;iphlpapi.lib&quot;)
#pragma comment(lib, &quot;ws2_32.lib&quot;)

CRITICAL_SECTION  cs;

unsigned long netIp = 0;

// Get host IP
// Reference: http://blog.csdn.net/happycock/article/details/491424
// If your machine have more than one network adapter, you should
// fix this function.
void GetHostIP(char* ip, int size1, char* mask, int size2)
{
    ULONG len = 0; 
    GetAdaptersInfo(NULL, &amp;len);
    PIP_ADAPTER_INFO p = static_cast&lt;PIP_ADAPTER_INFO&gt;(malloc(len));
    GetAdaptersInfo(p, &amp;len);
    for (PIP_ADAPTER_INFO q = p; q != NULL; q = q-&gt;Next)
    {
        if (ip) strncpy(ip, q-&gt;IpAddressList.IpAddress.String, size1);
        if (mask) strncpy(mask, q-&gt;IpAddressList.IpMask.String, size2);
        break;
    }

    free(p);
}

unsigned int __stdcall ArpThread(LPVOID lParam)
{
    ULONG MacAddr[2];       /* for 6-byte hardware addresses */
    ULONG PhysAddrLen = 6;  /* default to length of six bytes */

#if 1
    EnterCriticalSection(&amp;cs);
    //converts to TCP/IP network byte order (which is big-endian) 
    unsigned long dstIP=htonl(++netIp);
    LeaveCriticalSection(&amp;cs);
#else
    // Reference: http://blog.csdn.net/morewindows/article/details/7429155
    //netIp++;  
    InterlockedIncrement((LPLONG)&amp;netIp);
    unsigned long dstIP=htonl(netIp);
#endif

    if (NO_ERROR == SendARP(dstIP, 0,&amp;(MacAddr[0]),&amp;PhysAddrLen)) {
        EnterCriticalSection(&amp;cs);
        BYTE* bPhysAddr = (BYTE *) &amp; MacAddr;
        if (PhysAddrLen) {
            struct in_addr addr1;
            memcpy(&amp;addr1, &amp;dstIP, 4);
            printf(&quot;%16s : &quot;, inet_ntoa(addr1));
            for (int i = 0; i &lt; (int) PhysAddrLen; i++) {
                if (i == (PhysAddrLen - 1))
                    printf(&quot;%.2X\n&quot;, (int) bPhysAddr[i]);
                else
                    printf(&quot;%.2X-&quot;, (int) bPhysAddr[i]);
            }
        } else
            printf(&quot;Warning: SendArp completed successfully, but returned length=0\n&quot;);
        LeaveCriticalSection(&amp;cs);
    }

    return 0;
}

int main(int argc, char **argv)
{
    IPAddr SrcIp = 0;

    char strSrcIP[16] = {0};
    char strSrcMask[16] = {0};
    // Get Host IP and Mask
    GetHostIP(strSrcIP, sizeof(strSrcIP), strSrcMask, sizeof(strSrcMask));

    InitializeCriticalSection(&amp;cs);

    SrcIp = inet_addr(strSrcIP);
    unsigned long findMask=inet_addr(strSrcMask);
    int netsize = ~ntohl(findMask);
    netIp = ntohl(SrcIp &amp; findMask); 

#if 0
    unsigned long dstIp;
    struct in_addr addr1;
    HANDLE hThr[63] = {0};
    for (int i=1; i&lt;64; i++)
    {
        //converts to TCP/IP network byte order (which is big-endian) 
         dstIp=htonl(netIp+i);

         hThr[i-1] = (HANDLE)_beginthreadex(NULL, 0, ArpThread, &amp;dstIp, 0, NULL);
    }

    WaitForMultipleObjects(63,&amp;(hThr[0]),TRUE,INFINITE);
#else
    HANDLE *phThread = (HANDLE*)malloc(netsize*sizeof(HANDLE));
    for (int i=1; i&lt;netsize; i++)
    {
        // _beginthreadex if more effect than CreateThread
        // you can google it for more information
        phThread[i-1] = (HANDLE)_beginthreadex(NULL, 0, ArpThread, 0, 0, NULL);
    }

    // There is a limit count for function WaitForMultipleObjects
    int netcount = netsize-1;
    int waitcount = 0;
    for (int i=0; i&lt;netcount;)
    {
        waitcount = MAXIMUM_WAIT_OBJECTS;
        if (netcount-i&lt;MAXIMUM_WAIT_OBJECTS)
            waitcount = netcount-i;
        WaitForMultipleObjects(waitcount,&amp;(phThread[i]),TRUE,INFINITE);
        i += waitcount;
    }

    free(phThread);

#endif

    DeleteCriticalSection(&amp;cs);

    //system(&quot;pause&quot;);
    return 0;
}
</code></pre><p><strong>output as below:(For security reasons, replace some of the characters as asterisks)</strong>  </p>
<pre><code>  192.168.50.1 : **-**-E2-**-C7-**
  192.168.50.2 : **-**-4C-**-00-**
 192.168.50.16 : **-**-19-**-46-**
 192.168.50.22 : **-**-09-**-3A-**
 192.168.50.28 : **-**-AE-**-E6-**
 ...
192.168.50.129 : **-**-9B-**-19-**
192.168.50.238 : **-**-6F-**-28-**
Press any key to continue. . .
</code></pre><h3 id="Find-alive-hosts-with-icmp-protocol"><a href="#Find-alive-hosts-with-icmp-protocol" class="headerlink" title="Find alive hosts with icmp protocol"></a>Find alive hosts with icmp protocol</h3><pre><code>// Find alive hosts with icmp protocol
// Win32 console project, compile with VS2005
// Create by Dennis
// 2013-04-09

// Reference:
// http://msdn.microsoft.com/en-us/library/windows/desktop/aa366050%28v=vs.85%29.aspx

#include &lt;winsock2.h&gt;
#include &lt;iphlpapi.h&gt;
#include &lt;icmpapi.h&gt;
#include &lt;process.h&gt;
#include &lt;stdio.h&gt;

#pragma comment(lib, &quot;iphlpapi.lib&quot;)
#pragma comment(lib, &quot;ws2_32.lib&quot;)

#define IP_SECTION &quot;192.168.110.%d&quot;

CRITICAL_SECTION cs;
int g_ip_index = 0;

unsigned int __stdcall IcmpThread(LPVOID LPARAM)
{
    // Declare and initialize variables

    EnterCriticalSection(&amp;cs);
    char ip[16] = {0};
    sprintf(ip, IP_SECTION, ++g_ip_index);
    HANDLE hIcmpFile;
    unsigned long ipaddr = INADDR_NONE;
    DWORD dwRetVal = 0;
    char SendData[32] = &quot;Data Buffer&quot;;
    LPVOID ReplyBuffer = NULL;
    DWORD ReplySize = 0;

    ipaddr = inet_addr(ip);
    if (ipaddr == INADDR_NONE) {
        return 1;
    }

    hIcmpFile = IcmpCreateFile();
    if (hIcmpFile == INVALID_HANDLE_VALUE) {
        printf(&quot;\tUnable to open handle.\n&quot;);
        printf(&quot;IcmpCreatefile returned error: %ld\n&quot;, GetLastError() );
        return 1;
    }    

    ReplySize = sizeof(ICMP_ECHO_REPLY) + sizeof(SendData);
    ReplyBuffer = (VOID*) malloc(ReplySize);
    if (ReplyBuffer == NULL) {
        printf(&quot;\tUnable to allocate memory\n&quot;);
        return 1;
    }    
    LeaveCriticalSection(&amp;cs);

    dwRetVal = IcmpSendEcho(hIcmpFile, ipaddr, SendData, sizeof(SendData), 
        NULL, ReplyBuffer, ReplySize, 10);
#if 0
    if (dwRetVal != 0) {
        PICMP_ECHO_REPLY pEchoReply = (PICMP_ECHO_REPLY)ReplyBuffer;
        struct in_addr ReplyAddr;
        ReplyAddr.S_un.S_addr = pEchoReply-&gt;Address;
        printf(&quot;\tSent icmp message to %s\n&quot;, ip);
        if (dwRetVal &gt; 1) {
            printf(&quot;\tReceived %ld icmp message responses\n&quot;, dwRetVal);
            printf(&quot;\tInformation from the first response:\n&quot;); 
        }    
        else {    
            printf(&quot;\tReceived %ld icmp message response\n&quot;, dwRetVal);
            printf(&quot;\tInformation from this response:\n&quot;); 
        }    
        printf(&quot;\t  Received from %s\n&quot;, inet_ntoa( ReplyAddr ) );
        printf(&quot;\t  Status = %ld\n&quot;, 
            pEchoReply-&gt;Status);
        printf(&quot;\t  Roundtrip time = %ld milliseconds\n&quot;, 
            pEchoReply-&gt;RoundTripTime);
    }
    else {
        printf(&quot;\tCall to IcmpSendEcho failed.\n&quot;);
        printf(&quot;\tIcmpSendEcho returned error: %ld\n&quot;, GetLastError() );
        return 1;
    }
#else
    if (dwRetVal != 0)
        printf(&quot;%16s is alive\n&quot;, ip);
#endif
}

int __cdecl main(int argc, char **argv)  {

    InitializeCriticalSection(&amp;cs);

    int netsize = 255;

    HANDLE *phThread = (HANDLE*)malloc(netsize*sizeof(HANDLE));
    for (int i=1; i&lt;netsize; i++)
    {
        // _beginthreadex if more effect than CreateThread
        // you can google it for more information
        phThread[i-1] = (HANDLE)_beginthreadex(NULL, 0, IcmpThread, 0, 0, NULL);
    }

    // There is a limit count for function WaitForMultipleObjects
    int netcount = netsize-1;
    int waitcount = 0;
    for (int i=0; i&lt;netcount;)
    {
        waitcount = MAXIMUM_WAIT_OBJECTS;
        if (netcount-i&lt;MAXIMUM_WAIT_OBJECTS)
            waitcount = netcount;
        WaitForMultipleObjects(waitcount,&amp;(phThread[i]),TRUE,INFINITE);
        i += waitcount;
    }

    free(phThread);

    DeleteCriticalSection(&amp;cs);
    system(&quot;pause&quot;);
    return 0;
}    
</code></pre><p><strong>Output as below:</strong>  </p>
<pre><code>  192.168.110.1 is alive
  192.168.110.5 is alive
  192.168.110.6 is alive
 192.168.110.30 is alive
 192.168.110.32 is alive
 192.168.110.35 is alive
 ...
192.168.110.248 is alive
192.168.110.249 is alive
Press any key to continue. . .
</code></pre><h3 id="IPFind"><a href="#IPFind" class="headerlink" title="IPFind"></a>IPFind</h3><p>I have write a windows application with MFC, you can find the source code and execute file here <a href="https://github.com/matrix207/VC/blob/master/IPFind" target="_blank" rel="external">IPFind</a><br><img src="/assets/image/posts/IPFind.PNG" alt="IPFind"></p>

      
    </div>
    <footer class="article-footer">
      <a data-url="http://yoursite.com/2013/04/09/find-alive-hosts/" data-id="ciqqpe1j1004enmpv4u3rion7" class="article-share-link">Partager</a>
      
      
  <ul class="article-tag-list"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/network/">network</a></li></ul>

    </footer>
  </div>
  
    
<nav id="article-nav">
  
    <a href="/2013/04/10/get-mac-with-netbios/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Récent</strong>
      <div class="article-nav-title">
        
          get mac with NetBIOS
        
      </div>
    </a>
  
  
    <a href="/2013/04/07/kvm/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">Ancien</strong>
      <div class="article-nav-title">kvm</div>
    </a>
  
</nav>

  
</article>

</section>
        
          <aside id="sidebar">
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Catégories</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/blog/">blog</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/database/">database</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/english/">english</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/kernel/">kernel</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/language/">language</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/linux/">linux</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/math/">math</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/network/">network</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/others/">others</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/person/">person</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/program/">program</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/source/">source</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/storage/">storage</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/tools/">tools</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/windows/">windows</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Mot-clés</h3>
    <div class="widget">
      <ul class="tag-list"><li class="tag-list-item"><a class="tag-list-link" href="/tags/FAQ/">FAQ</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/IRC/">IRC</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/Translation/">Translation</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/android/">android</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/api/">api</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/assembly/">assembly</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/awk/">awk</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/batch/">batch</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/blog/">blog</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/book/">book</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/c/">c</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/c/">c++</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/cache/">cache</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/crash/">crash</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/database/">database</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/debug/">debug</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/dot/">dot</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/driver/">driver</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/emacs/">emacs</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/exploit/">exploit</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/file-system/">file system</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/filesystem/">filesystem</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/flowchart/">flowchart</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/gcc/">gcc</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/git/">git</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/google/">google</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/graphviz/">graphviz</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hexo/">hexo</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/hosts/">hosts</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/iscsi/">iscsi</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/java/">java</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/javascript/">javascript</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/job/">job</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/json/">json</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/kernel/">kernel</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/linux/">linux</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/lisp/">lisp</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/lua/">lua</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/makefile/">makefile</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/malloc/">malloc</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/math/">math</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/maxima/">maxima</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/memory/">memory</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/memory-overflow/">memory overflow</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/mtrace/">mtrace</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/netdisk/">netdisk</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/network/">network</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/others/">others</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/pandoc/">pandoc</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/performance/">performance</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/person/">person</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/protobuf/">protobuf</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/python/">python</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/rsync/">rsync</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sed/">sed</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/shell/">shell</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/skype/">skype</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sms/">sms</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/source/">source</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/ssh/">ssh</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/stack/">stack</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/storage/">storage</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/study/">study</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/svn/">svn</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/sync/">sync</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/test/">test</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/time/">time</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/tools/">tools</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/valgrind/">valgrind</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/vi/">vi</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/vim/">vim</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/virtual/">virtual</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/wget/">wget</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/windows/">windows</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/wireshark/">wireshark</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/write/">write</a></li><li class="tag-list-item"><a class="tag-list-link" href="/tags/xml/">xml</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Nuage de mot-clés</h3>
    <div class="widget tagcloud">
      <a href="/tags/FAQ/" style="font-size: 10px;">FAQ</a> <a href="/tags/IRC/" style="font-size: 10px;">IRC</a> <a href="/tags/Translation/" style="font-size: 13px;">Translation</a> <a href="/tags/android/" style="font-size: 10px;">android</a> <a href="/tags/api/" style="font-size: 10px;">api</a> <a href="/tags/assembly/" style="font-size: 10px;">assembly</a> <a href="/tags/awk/" style="font-size: 11px;">awk</a> <a href="/tags/batch/" style="font-size: 14px;">batch</a> <a href="/tags/blog/" style="font-size: 10px;">blog</a> <a href="/tags/book/" style="font-size: 10px;">book</a> <a href="/tags/c/" style="font-size: 16px;">c</a> <a href="/tags/c/" style="font-size: 19px;">c++</a> <a href="/tags/cache/" style="font-size: 10px;">cache</a> <a href="/tags/crash/" style="font-size: 10px;">crash</a> <a href="/tags/database/" style="font-size: 17px;">database</a> <a href="/tags/debug/" style="font-size: 12px;">debug</a> <a href="/tags/dot/" style="font-size: 10px;">dot</a> <a href="/tags/driver/" style="font-size: 10px;">driver</a> <a href="/tags/emacs/" style="font-size: 11px;">emacs</a> <a href="/tags/exploit/" style="font-size: 10px;">exploit</a> <a href="/tags/file-system/" style="font-size: 10px;">file system</a> <a href="/tags/filesystem/" style="font-size: 12px;">filesystem</a> <a href="/tags/flowchart/" style="font-size: 10px;">flowchart</a> <a href="/tags/gcc/" style="font-size: 10px;">gcc</a> <a href="/tags/git/" style="font-size: 12px;">git</a> <a href="/tags/google/" style="font-size: 11px;">google</a> <a href="/tags/graphviz/" style="font-size: 11px;">graphviz</a> <a href="/tags/hexo/" style="font-size: 10px;">hexo</a> <a href="/tags/hosts/" style="font-size: 10px;">hosts</a> <a href="/tags/iscsi/" style="font-size: 14px;">iscsi</a> <a href="/tags/java/" style="font-size: 10px;">java</a> <a href="/tags/javascript/" style="font-size: 10px;">javascript</a> <a href="/tags/job/" style="font-size: 10px;">job</a> <a href="/tags/json/" style="font-size: 10px;">json</a> <a href="/tags/kernel/" style="font-size: 14px;">kernel</a> <a href="/tags/linux/" style="font-size: 14px;">linux</a> <a href="/tags/lisp/" style="font-size: 10px;">lisp</a> <a href="/tags/lua/" style="font-size: 10px;">lua</a> <a href="/tags/makefile/" style="font-size: 10px;">makefile</a> <a href="/tags/malloc/" style="font-size: 10px;">malloc</a> <a href="/tags/math/" style="font-size: 11px;">math</a> <a href="/tags/maxima/" style="font-size: 10px;">maxima</a> <a href="/tags/memory/" style="font-size: 11px;">memory</a> <a href="/tags/memory-overflow/" style="font-size: 10px;">memory overflow</a> <a href="/tags/mtrace/" style="font-size: 10px;">mtrace</a> <a href="/tags/netdisk/" style="font-size: 10px;">netdisk</a> <a href="/tags/network/" style="font-size: 20px;">network</a> <a href="/tags/others/" style="font-size: 18px;">others</a> <a href="/tags/pandoc/" style="font-size: 10px;">pandoc</a> <a href="/tags/performance/" style="font-size: 16px;">performance</a> <a href="/tags/person/" style="font-size: 11px;">person</a> <a href="/tags/protobuf/" style="font-size: 11px;">protobuf</a> <a href="/tags/python/" style="font-size: 10px;">python</a> <a href="/tags/rsync/" style="font-size: 10px;">rsync</a> <a href="/tags/sed/" style="font-size: 11px;">sed</a> <a href="/tags/shell/" style="font-size: 15px;">shell</a> <a href="/tags/skype/" style="font-size: 11px;">skype</a> <a href="/tags/sms/" style="font-size: 10px;">sms</a> <a href="/tags/source/" style="font-size: 11px;">source</a> <a href="/tags/ssh/" style="font-size: 10px;">ssh</a> <a href="/tags/stack/" style="font-size: 10px;">stack</a> <a href="/tags/storage/" style="font-size: 15px;">storage</a> <a href="/tags/study/" style="font-size: 10px;">study</a> <a href="/tags/svn/" style="font-size: 11px;">svn</a> <a href="/tags/sync/" style="font-size: 10px;">sync</a> <a href="/tags/test/" style="font-size: 11px;">test</a> <a href="/tags/time/" style="font-size: 10px;">time</a> <a href="/tags/tools/" style="font-size: 16px;">tools</a> <a href="/tags/valgrind/" style="font-size: 10px;">valgrind</a> <a href="/tags/vi/" style="font-size: 10px;">vi</a> <a href="/tags/vim/" style="font-size: 14px;">vim</a> <a href="/tags/virtual/" style="font-size: 11px;">virtual</a> <a href="/tags/wget/" style="font-size: 10px;">wget</a> <a href="/tags/windows/" style="font-size: 11px;">windows</a> <a href="/tags/wireshark/" style="font-size: 10px;">wireshark</a> <a href="/tags/write/" style="font-size: 13px;">write</a> <a href="/tags/xml/" style="font-size: 10px;">xml</a>
    </div>
  </div>

  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Archives</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/07/">July 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/04/">April 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/03/">March 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/02/">February 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2016/01/">January 2016</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/11/">November 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/10/">October 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/09/">September 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/08/">August 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/07/">July 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/06/">June 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/03/">March 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/02/">February 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2015/01/">January 2015</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/12/">December 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/11/">November 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/09/">September 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/08/">August 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/07/">July 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/06/">June 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/05/">May 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/04/">April 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2014/03/">March 2014</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/11/">November 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/10/">October 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/09/">September 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/08/">August 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/07/">July 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/06/">June 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/05/">May 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/04/">April 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/03/">March 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/02/">February 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2013/01/">January 2013</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2012/12/">December 2012</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2012/09/">September 2012</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">Articles récents</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2016/07/17/how-to-implement-malloc/">如何实现一个malloc</a>
          </li>
        
          <li>
            <a href="/2016/07/17/study-grep-more/">grep工作原理</a>
          </li>
        
          <li>
            <a href="/2016/07/17/2016-04-13-malloc/">malloc</a>
          </li>
        
          <li>
            <a href="/2016/04/27/include-what-you-use/">使用IWYU整理头文件引用</a>
          </li>
        
          <li>
            <a href="/2016/04/24/understand-gcc-assembly-output/">understand gcc assembly output</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy; 2016 Matrix207<br>
      Propulsé by <a href="http://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>
    </div>
    <nav id="mobile-nav">
  
    <a href="/" class="mobile-nav-link">Home</a>
  
    <a href="/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>


  <link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
  <script src="/fancybox/jquery.fancybox.pack.js"></script>


<script src="/js/script.js"></script>

  </div>
</body>
</html>